<?php

/**
 * Subclass for performing query and update operations on the 'us_usuario' table.
 *
 * 
 *
 * @package lib.model
 */ 
class UsUsuarioPeer extends BaseUsUsuarioPeer
{
  public static function loadDataFromFile($eliminarRegistrosAnteriores=false)
  {
  
    if($eliminarRegistrosAnteriores)
      UsUsuarioPeer::doDeleteAll();
    $resultado = array();
    $totalRegistros=0;
    $criteria = new Criteria();
    $criteria->add(CtControlPeer::CODIGO_ARCHIVO,'US%', Criteria::LIKE);
    $archivoControl = CtControlPeer::doSelectOne($criteria);
    $archivo = @file(sfConfig::get('sf_upload_dir')."/".$archivoControl->getCodigoArchivo().'.TXT');
    if($archivo)
    {
      foreach ($archivo as $line_num => $line)
      {
        $datos = explode(",", $line);
        $usuario = new UsUsuario();
        $usuario->setUsUsuarioId($datos[1]);
        $usuario->setTipoIdentificacionId($datos[0]);
        //$usuario->setEntidadAdministradoraId($datos[2]);
        $usuario->setEntidadAdministradoraId('EPS018');
        $usuario->setTipoUsuarioId($datos[3]);
        $usuario->setPrimerApellido($datos[4]);
        $usuario->setSegundoApellido($datos[5]);
        $usuario->setPrimerNombre($datos[6]);
        $usuario->setSegundoNombre($datos[7]);
        $usuario->setEdad($datos[8]);
        $usuario->setUnidadMedidaEdadId($datos[9]);
        $usuario->setSexoId($datos[10]);
        $usuario->setCodigoDepartamento($datos[11]);
        $usuario->setCodigoMunicipio($datos[12]);
        if(trim($datos[13]) == "")
          $usuario->setZonaResidenciaId(null);
        else
          $usuario->setZonaResidenciaId(trim($datos[13]));
        if($usuario->save())
          $totalRegistros++;
      }
      $resultado['informacion']['US']['registros-grabados'] = $totalRegistros;
    }
    else
      $resultado['errores']['US'] = array('No se pudo leer el archivo '.$archivoControl->getCodigoArchivo());
    return $resultado;
  
  }
}
